From stdpp Require Import prelude. From Coq Require Import FinFun Lia Program. From VLSM Require Import Lib.Preamble Lib.ListExtras Lib.FinExtras Lib.FinFunExtras. From VLSM Require Import Core.VLSM Core.VLSMProjections Core.Composition Core.ProjectionTraces Core.SubProjectionTraces. From VLSM Require Import Core.Equivocation Core.Equivocation.NoEquivocation. From VLSM Require Import Core.Equivocators.Common Core.Equivocators.Projections Core.Equivocators.EquivocatorReplay. From VLSM Require Import Core.Equivocators.MessageProperties Core.Equivocators.Composition.Common. From VLSM Require Import Core.Equivocators.Composition.Projections Core.Plans.
VLSM Equivocator Full Replay Traces
Section all_equivocating. Context {message : Type} {index : Type} {IndEqDec : EqDecision index} (IM : index -> VLSM message) (Hbs : forall i : index, HasBeenSentCapability (IM i)) (Hbr : forall i : index, HasBeenReceivedCapability (IM i)) (index_listing : list index) (finite_index : Listing index_listing) (seed : message -> Prop) (equivocating : list index) (* abbreviations *) (Hbo : forall i : index, HasBeenObservedCapability (IM i) := fun i => HasBeenObservedCapability_from_sent_received (IM i)) (equiv_index : Type := sub_index equivocating) (equivocator_descriptors := equivocator_descriptors IM) (equivocators_state_project := equivocators_state_project IM) (equivocator_IM := equivocator_IM IM) (sub_equivocator_IM := sub_IM equivocator_IM equivocating) (sub_IM := sub_IM IM equivocating) (equivocator_descriptors_update := equivocator_descriptors_update IM) (proper_equivocator_descriptors := proper_equivocator_descriptors IM) (equivocators_trace_project := equivocators_trace_project IM) (Free := free_composite_vlsm IM) (FreeE := free_composite_vlsm equivocator_IM) (PreFreeE := pre_loaded_with_all_messages_vlsm FreeE) (FreeSubE := free_composite_vlsm sub_equivocator_IM) (PreFreeSubE := pre_loaded_with_all_messages_vlsm FreeSubE) (Hbs_sub : forall sub_i, HasBeenSentCapability (sub_IM sub_i) := sub_has_been_sent_capabilities IM equivocating Hbs) (SeededXE : VLSM message := seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed) (equivocators_no_equivocations_vlsm := equivocators_no_equivocations_vlsm IM Hbs) .message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE mVLSM_full_projection SeededXE (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating) (lift_sub_state equivocator_IM equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE mVLSM_full_projection SeededXE (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating) (lift_sub_state equivocator_IM equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HomY: option_valid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) omvvalid (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating l) (lift_sub_state equivocator_IM equivocating s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition SeededXE l (s, om) (s', om')vtransition (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating l) (lift_sub_state equivocator_IM equivocating s, om) = (lift_sub_state equivocator_IM equivocating s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
s: state
H: vinitial_state_prop SeededXE svinitial_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HmX: vinitial_message_prop SeededXE mvalid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HomY: option_valid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) omvvalid (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating l) (lift_sub_state equivocator_IM equivocating s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HomY: option_valid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) omcomposite_valid equivocator_IM (lift_sub_label equivocator_IM equivocating l) (lift_sub_state equivocator_IM equivocating s, om)apply Hv.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HomY: option_valid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) omcomposite_valid (SubProjectionTraces.sub_IM equivocator_IM equivocating) l (s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition SeededXE l (s, om) (s', om')vtransition (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_label equivocator_IM equivocating l) (lift_sub_state equivocator_IM equivocating s, om) = (lift_sub_state equivocator_IM equivocating s', om')apply H.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition SeededXE l (s, om) (s', om')composite_transition (SubProjectionTraces.sub_IM equivocator_IM equivocating) l (s, om) = (s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
s: state
H: vinitial_state_prop SeededXE svinitial_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
s: state
H: vinitial_state_prop SeededXE scomposite_initial_state_prop (SubProjectionTraces.sub_IM equivocator_IM equivocating) smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
HmX: vinitial_message_prop SeededXE mvalid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
Hinit: initial_message_prop mvalid_message_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
Hinit: initial_message_prop minitial_message_prop mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
i: sub_index equivocating
Him: ∃ mi : vinitial_message (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating i), ` mi = minitial_message_prop massumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
Hseed: ∀ m : message, seed m → valid_message_prop FreeE m
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (lift_sub_state equivocator_IM equivocating s)
i: sub_index equivocating
Him: ∃ mi : vinitial_message (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating i), ` mi = m∃ mi : vinitial_message (equivocator_IM (` i)), ` mi = m
Given a
base_state to replay on, the replay label corresponding to a
given transition label is obtained as the equivocator_state_append_label.
Definition lift_equivocators_sub_label_to
(base_s : composite_state equivocator_IM)
(l : composite_label sub_equivocator_IM)
: composite_label equivocator_IM
:=
let (sub_i, li) := l in
let i := proj1_sig sub_i in
existT i (equivocator_state_append_label (IM i) (base_s i) li).
Given a
base_state to replay on, the replay state corresponding to a
destination state in a transition by appending its components to the
base state using equivocator_state_append.
Definition lift_equivocators_sub_state_to (base_s : composite_state equivocator_IM) (s : composite_state sub_equivocator_IM) : composite_state equivocator_IM := fun i => match @decide (sub_index_prop equivocating i) (sub_index_prop_dec equivocating i) with | left e => equivocator_state_append (base_s i) (s (dec_exist _ i e)) | _ => base_s i end.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating ilift_equivocators_sub_state_to base_s s i = equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i Hi))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating ilift_equivocators_sub_state_to base_s s i = equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i Hi))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating imatch decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i e)) | in_right => base_s i end = equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i Hi))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
Hi, s0: sub_index_prop equivocating iequivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i s0)) = equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i Hi))apply sub_IM_state_pi. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
Hi, s0: sub_index_prop equivocating is (dec_exist (sub_index_prop equivocating) i Hi) = s (dec_exist (sub_index_prop equivocating) i s0)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM∀ i : index, equivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM∀ i : index, equivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: indexequivocator_state_n (base_s i) ≤ equivocator_state_n (lift_equivocators_sub_state_to base_s s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: indexequivocator_state_n (base_s i) ≤ equivocator_state_n match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i e)) | in_right => base_s i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
s0: sub_index_prop equivocating iequivocator_state_n (base_s i) ≤ equivocator_state_n (equivocator_state_append (base_s i) (s (dec_exist (sub_index_prop equivocating) i s0)))lia. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
base_s: composite_state equivocator_IM
s: composite_state sub_equivocator_IM
i: index
s0: sub_index_prop equivocating iequivocator_state_n (base_s i) ≤ equivocator_state_n (base_s i) + equivocator_state_n (s (dec_exist (sub_index_prop equivocating) i s0))
The plan item corresponding to an initial state equivocation
Definition initial_new_machine_transition_item
(is : composite_state sub_equivocator_IM)
(eqv : equiv_index)
: composite_plan_item equivocator_IM
:=
let i := proj1_sig eqv in
let seqv := is eqv in
let new_l :=
(existT i (Spawn (equivocator_state_zero seqv)))
in
@Build_plan_item message (composite_type equivocator_IM) new_l None.
Command for equivocating all states of an initial composite state.
Definition spawn_initial_state (is : composite_state sub_equivocator_IM) : composite_plan equivocator_IM := map (initial_new_machine_transition_item is) (@sub_index_listing _ _ equivocating index_listing). Definition replayed_initial_state_from full_replay_state is := fst (composite_apply_plan equivocator_IM full_replay_state (spawn_initial_state is)).
The final state obtained after replaying an initial state is precisely
the lifting of that initial state over the given base state.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is(∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end) → finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is(∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end) → finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: NoDup (sub_index_listing equivocating) → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: NoDup (sub_index_listing equivocating) → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endNoDup (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: NoDup (sub_index_listing equivocating) → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endNoDup (sub_index_listing equivocating)apply (finite_sub_index equivocating finite_index).message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: NoDup (sub_index_listing equivocating) → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endList.NoDup (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endfinite_trace_last full_replay_state (_apply_plan full_replay_state (spawn_initial_state is)).1 = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end(_apply_plan full_replay_state (spawn_initial_state is)).2 = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end∀ x : index, (_apply_plan full_replay_state (spawn_initial_state is)).2 x = lift_equivocators_sub_state_to full_replay_state is xmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
i: index(_apply_plan full_replay_state (spawn_initial_state is)).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end(_apply_plan full_replay_state (spawn_initial_state is)).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(_apply_plan full_replay_state (spawn_initial_state is)).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmatch decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end = lift_equivocators_sub_state_to full_replay_state is imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmatch decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end = match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
s: sub_index_prop equivocating i
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)(if decide (dec_exist (sub_index_prop equivocating) i s ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i) = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
s: sub_index_prop equivocating i
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)dec_exist (sub_index_prop equivocating) i s ∈ sub_index_listing equivocatingapply (finite_sub_index equivocating finite_index).message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
i: index
s: sub_index_prop equivocating i
H: (_apply_plan full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).2 i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ sub_index_listing equivocating) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)In (dec_exist (sub_index_prop equivocating) i s) (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hincl: incl [] (sub_index_listing equivocating)
Hnodup: NoDup []
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) []): (list transition_item * state)%type
i: indextr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ []) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: indextr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hincl: incl [] (sub_index_listing equivocating)
Hnodup: NoDup []
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) []): (list transition_item * state)%type
i: indextr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ []) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hincl: incl [] (sub_index_listing equivocating)
Hnodup: NoDup []
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) []): (list transition_item * state)%type
i: index
s: sub_index_prop equivocating itr_full_replay_is.2 i = (let eqv := dec_exist (sub_index_prop equivocating) i s in if decide (eqv ∈ []) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hincl: incl [] (sub_index_listing equivocating)
Hnodup: NoDup []
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) []): (list transition_item * state)%type
i: index
s: sub_index_prop equivocating idec_exist (sub_index_prop equivocating) i s ∉ []inversion Hin.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hincl: incl [] (sub_index_listing equivocating)
Hnodup: NoDup []
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) []): (list transition_item * state)%type
i: index
s: sub_index_prop equivocating i
Hin: dec_exist (sub_index_prop equivocating) i s ∈ []Falsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: indextr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: indexincl l (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: indexincl l (sub_index_listing equivocating)apply Hincl.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end
Hincl: incl l (sub_index_listing equivocating) ∧ incl [x] (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: indexincl l (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endNoDup lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endNoDup lapply Hnodup.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup l ∧ (∀ x0 : sub_index equivocating, x0 ∈ l → x0 ∉ [x]) ∧ NoDup [x]
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: NoDup l → ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endNoDup lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
tr_full_replay_is:= composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x])): (list transition_item * state)%type
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endtr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end(composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ (tr_full_replay_is := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)) (i : index), tr_full_replay_is.2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i end(composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l ++ map (initial_new_machine_transition_item is) [x])).2 i = match decide (sub_index_prop equivocating i) with | left e => let eqv := dec_exist (sub_index_prop equivocating) i e in if decide (eqv ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is eqv) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ i : index, (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l ++ [initial_new_machine_transition_item is x])).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ i : index, (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan equivocator_IM afinal [initial_new_machine_transition_item is x] in (aitems ++ a'items, a'final)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
IHl: ∀ i : index, (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in (aitems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))); output := None |}], state_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
aitems: list transition_item
afinal: state
IHl: ∀ i : index, (aitems, afinal).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end(aitems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))); output := None |}], state_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x)))).2 i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
IHl: ∀ i : index, afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endstate_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
IHl: afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endstate_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
Hincl: incl (l ++ [x]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [x])
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
IHl: afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i end
ix: index
Hix: sub_index_prop equivocating ix
Heqx: x = dec_exist (sub_index_prop equivocating) ix Hixstate_update equivocator_IM afinal (` x) (equivocator_state_extend (afinal (` x)) (equivocator_state_zero (is x))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [x]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
IHl: afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endstate_update equivocator_IM afinal (` (dec_exist (sub_index_prop equivocating) ix Hix)) (equivocator_state_extend (afinal (` (dec_exist (sub_index_prop equivocating) ix Hix))) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
IHl: afinal i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endstate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = match decide (sub_index_prop equivocating i) with | left e => if decide (dec_exist (sub_index_prop equivocating) i e ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i e)) else full_replay_state i | in_right => full_replay_state i endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)state_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ¬ sub_index_prop equivocating i
IHl: afinal i = full_replay_state istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = full_replay_state imessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)state_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
e: ix = istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
n: ix ≠ istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
e: ix = istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)state_update equivocator_IM afinal i (equivocator_state_extend (afinal i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)equivocator_state_extend (afinal i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (afinal i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)dec_exist (sub_index_prop equivocating) i s ∉ lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)dec_exist (sub_index_prop equivocating) i s ∉ lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
Heqv: dec_exist (sub_index_prop equivocating) i s ∈ lFalsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dec_exist (sub_index_prop equivocating) i Hix]
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
Heqv: dec_exist (sub_index_prop equivocating) i s ∈ lFalsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dec_exist (sub_index_prop equivocating) i Hix]
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
Heqv: dec_exist (sub_index_prop equivocating) i s ∈ ldec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) i Hix]left.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: ∀ x : sub_index equivocating, x ∈ l → x ∉ [dec_exist (sub_index_prop equivocating) i Hix]
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
Heqv: dec_exist (sub_index_prop equivocating) i s ∈ ldec_exist (sub_index_prop equivocating) i Hix ∈ [dec_exist (sub_index_prop equivocating) i Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (afinal i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iequivocator_state_extend (full_replay_state i) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) i Hix))) = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i Hix))apply (His (dec_exist (sub_index_prop equivocating) i Hix)).message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state iis_singleton_state (IM i) (is (dec_exist (sub_index_prop equivocating) i Hix))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) i Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idec_exist (sub_index_prop equivocating) i s ∈ l ∨ dec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) i Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) i Hix]left.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
i: index
Hix: sub_index_prop equivocating i
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) i Hix]) (sub_index_listing equivocating)
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) i Hix])
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = full_replay_state idec_exist (sub_index_prop equivocating) i Hix ∈ [dec_exist (sub_index_prop equivocating) i Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
n: ix ≠ istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
IHl: afinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)
n: ix ≠ iafinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
e: dec_exist (sub_index_prop equivocating) i s ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))
n: ix ≠ iafinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ iafinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
e: dec_exist (sub_index_prop equivocating) i s ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))
n: ix ≠ iafinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
e: dec_exist (sub_index_prop equivocating) i s ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))
n: ix ≠ idec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
e: dec_exist (sub_index_prop equivocating) i s ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))
n: ix ≠ idec_exist (sub_index_prop equivocating) i s ∈ l ∨ dec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) ix Hix]assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
e: dec_exist (sub_index_prop equivocating) i s ∈ l
IHl: afinal i = equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s))
n: ix ≠ idec_exist (sub_index_prop equivocating) i s ∈ lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ iafinal i = (if decide (dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) then equivocator_state_append (full_replay_state i) (is (dec_exist (sub_index_prop equivocating) i s)) else full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ idec_exist (sub_index_prop equivocating) i s ∉ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hin: dec_exist (sub_index_prop equivocating) i s ∈ l ++ [dec_exist (sub_index_prop equivocating) ix Hix]Falsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hin: dec_exist (sub_index_prop equivocating) i s ∈ l ∨ dec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) ix Hix]Falsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hx: dec_exist (sub_index_prop equivocating) i s ∈ [dec_exist (sub_index_prop equivocating) ix Hix]Falsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hx: dec_exist (sub_index_prop equivocating) i s = dec_exist (sub_index_prop equivocating) ix HixFalsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hx: ` (dec_exist (sub_index_prop equivocating) i s) = ` (dec_exist (sub_index_prop equivocating) ix Hix)Falsecongruence.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
s: sub_index_prop equivocating i
n0: dec_exist (sub_index_prop equivocating) i s ∉ l
IHl: afinal i = full_replay_state i
n: ix ≠ i
Hx: i = ixFalsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ¬ sub_index_prop equivocating i
IHl: afinal i = full_replay_state istate_update equivocator_IM afinal ix (equivocator_state_extend (afinal ix) (equivocator_state_zero (is (dec_exist (sub_index_prop equivocating) ix Hix)))) i = full_replay_state icongruence. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)
ix: index
Hix: sub_index_prop equivocating ix
Hnodup: NoDup (l ++ [dec_exist (sub_index_prop equivocating) ix Hix])
Hincl: incl (l ++ [dec_exist (sub_index_prop equivocating) ix Hix]) (sub_index_listing equivocating)
i: index
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ¬ sub_index_prop equivocating i
IHl: afinal i = full_replay_state ii ≠ ix
For any equivocator_descriptors corresponding to the base state
the projection of the replaying of an initial state is empty.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).1 = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state∀ l : list (sub_index equivocating), equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)
plan: (list transition_item * state)%type
Heqplan: plan = composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)equivocators_trace_project eqv_descriptors plan.1 = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)
plan: (list transition_item * state)%type
Heqplan: plan = composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)equivocators_trace_project eqv_descriptors plan.1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (plan.2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
l: list (sub_index equivocating)equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: equivocators_trace_project eqv_descriptors (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).2 i))equivocators_trace_project eqv_descriptors (let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan equivocator_IM afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan equivocator_IM afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors (litems, lfinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems, lfinal).2 i))equivocators_trace_project eqv_descriptors (let (a'items, a'final) := composite_apply_plan equivocator_IM lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((let (a'items, a'final) := composite_apply_plan equivocator_IM lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors (litems, lfinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems, lfinal).2 i))
aitems: list transition_item
afinal: state
Hplana: composite_apply_plan equivocator_IM lfinal (map (initial_new_machine_transition_item is) [x]) = (aitems, afinal)equivocators_trace_project eqv_descriptors (litems ++ aitems, afinal).1 = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n ((litems ++ aitems, afinal).2 i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IM
Hplana: composite_apply_plan equivocator_IM lfinal [initial_new_machine_transition_item is x] = (aitems, afinal)equivocators_trace_project eqv_descriptors (litems ++ aitems) = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (afinal i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocators_trace_project eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocators_trace_project eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IM∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocators_trace_project eqv_descriptors (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IM∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : Common.equivocator_descriptors IM), Projections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some (sufX, eqv_descriptors') ∧ Projections.equivocators_trace_project IM eqv_descriptors' litems = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors) ∧ Projections.equivocators_trace_project IM eqv_descriptors litems = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
Heqv_descriptors: existing_descriptor (IM (` x)) (eqv_descriptors (` x)) (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
Heqv_descriptors: match eqv_descriptors (` x) with | NewMachine _ => False | Existing i => is_Some (equivocator_state_project (full_replay_state (` x)) i) end
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state (` x)) n)
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMProjections.equivocators_trace_project IM eqv_descriptors [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}] = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch equivocators_transition_item_project IM eqv_descriptors {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match equivocator_vlsm_transition_item_project (IM (` x)) (composite_transition_item_projection (Common.equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}) (eqv_descriptors (` x)) with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match match eqv_descriptors (` x) with | NewMachine _ => Some (None, eqv_descriptors (` x)) | Existing j => match composite_transition_item_projection (Common.equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | {| l := el; input := im; destination := s; output := om |} => match equivocator_state_project s j with | Some sj => match el with | Spawn sn => if decide (j = equivocator_state_last s) then Some (None, NewMachine sn) else Some (None, Existing j) | ContinueWith i lx => if decide (i = j) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing j) | ForkWith i lx => if decide (j = equivocator_state_last s) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing j) end | None => None end end end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match match composite_transition_item_projection (Common.equivocator_IM IM) {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} with | {| l := el; input := im; destination := s; output := om |} => match equivocator_state_project s n with | Some sj => match el with | Spawn sn => if decide (n = equivocator_state_last s) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i lx => if decide (i = n) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing n) | ForkWith i lx => if decide (n = equivocator_state_last s) then Some (Some {| l := lx; input := im; destination := sj; output := om |}, Existing i) else Some (None, Existing n) end | None => None end end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match match equivocator_state_project (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) (` x)) n with | Some _ => if decide (n = equivocator_state_last (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) (` x))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match match equivocator_state_project (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) n with | Some _ => if decide (n = equivocator_state_last (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMmatch match match equivocator_state_project (lfinal (` x)) n with | Some _ => if decide (n = equivocator_state_last (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))match match (if decide (n = equivocator_state_last (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n)) with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))match match (if decide (n = equivocator_state_n (lfinal (` x))) then Some (None, NewMachine (equivocator_state_zero (is x))) else Some (None, Existing n)) with | Some (Some item', deqv') => Some (Some {| l := existT (` x) (VLSM.l item'); input := None; destination := Common.equivocators_state_project IM eqv_descriptors (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))); output := None |}, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (` x) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))Some ([], Common.equivocator_descriptors_update IM eqv_descriptors (` x) (Existing n)) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))([], Common.equivocator_descriptors_update IM eqv_descriptors (` x) (Existing n)) = ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))Common.equivocator_descriptors_update IM eqv_descriptors (` x) (Existing n) = eqv_descriptorsassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
x: sub_index equivocating
n: nat
Heqv_x: eqv_descriptors (` x) = Existing n
s_x_n: vstate (IM (` x))
Heqv_descriptors: equivocator_state_project (full_replay_state (` x)) n = Some s_x_n
Hltn: n < equivocator_state_n (full_replay_state (` x))
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
lfinal_x_n: vstate (IM (` x))
Hltn': n < equivocator_state_n (lfinal (` x))eqv_descriptors (` x) = Existing nmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IM∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocators_trace_project eqv_descriptors litems = Some ([], eqv_descriptors) ∧ (∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i))
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: indexequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ i : index, equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: indexequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
e: ` x = iequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ` x ≠ iequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
e: ` x = iequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) (` x))lia.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: equivocator_state_n (full_replay_state (` x)) ≤ equivocator_state_n (lfinal (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IMequivocator_state_n (full_replay_state (` x)) ≤ S (equivocator_state_n (lfinal (` x)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ` x ≠ iequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i)assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
i: index
IHl: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)
aitems: list transition_item
afinal: _composite_state equivocator_IM
n: ` x ≠ iequivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lfinal i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM∀ (l : list (sub_index equivocating)) (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
l: list (sub_index equivocating)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan equivocator_IM afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l)).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in finite_trace_last full_replay_state after_a.1 = after_a.2∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (aitems, afinal) := composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) in let (a'items, a'final) := composite_apply_plan equivocator_IM afinal (map (initial_new_machine_transition_item is) [x]) in (aitems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (let (a'items, a'final) := composite_apply_plan equivocator_IM lfinal (map (initial_new_machine_transition_item is) [x]) in (litems ++ a'items, a'final)).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2
aitems: list transition_item
afinal: state
Hplana: composite_apply_plan equivocator_IM lfinal (map (initial_new_machine_transition_item is) [x]) = (aitems, afinal)∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ aitems, afinal).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: state
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems, lfinal).1 i) j = equivocator_state_project (full_replay_state i) j
Hlst: let after_a := (litems, lfinal) in finite_trace_last full_replay_state after_a.1 = after_a.2
aitems: list transition_item
afinal: state∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}], state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x)))).1 i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: _composite_state equivocator_IM∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (litems ++ [{| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |}]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: _composite_state equivocator_IM∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (destination {| l := existT (` x) (Spawn (equivocator_state_zero (is x))); input := None; destination := state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))); output := None |} i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: _composite_state equivocator_IM∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
lfinal: _composite_state equivocator_IM
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, lfinal)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
Hlst: finite_trace_last full_replay_state litems = lfinal
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)equivocator_state_project (state_update equivocator_IM lfinal (` x) (equivocator_state_extend (lfinal (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
j: nat
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (state_update equivocator_IM (finite_trace_last full_replay_state litems) (` x) (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) (` x)) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)
n: ` x ≠ iequivocator_state_project (state_update equivocator_IM (finite_trace_last full_replay_state litems) (` x) (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
j: nat
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (state_update equivocator_IM (finite_trace_last full_replay_state litems) (` x) (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) (` x)) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
j: nat
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = equivocator_state_project (full_replay_state (` x)) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
Hj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = equivocator_state_project (full_replay_state (` x)) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
s_x_j: vstate (IM (` x))
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = Some s_x_j
aitems: list transition_item
afinal: _composite_state equivocator_IM
Hj, Hltj: j < equivocator_state_n (full_replay_state (` x))equivocator_state_project (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) j = Some s_x_jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
s_x_j: vstate (IM (` x))
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = Some s_x_j
aitems: list transition_item
afinal: _composite_state equivocator_IM
Hj, Hltj: j < equivocator_state_n (full_replay_state (` x))j < equivocator_state_n (finite_trace_last full_replay_state litems (` x))assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
j: nat
s_x_j: vstate (IM (` x))
IHl: equivocator_state_project (finite_trace_last full_replay_state litems (` x)) j = Some s_x_j
Hltj': j < equivocator_state_n (finite_trace_last full_replay_state litems (` x))
aitems: list transition_item
afinal: _composite_state equivocator_IM
Hj, Hltj: j < equivocator_state_n (full_replay_state (` x))j < equivocator_state_n (finite_trace_last full_replay_state litems (` x))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)
n: ` x ≠ iequivocator_state_project (state_update equivocator_IM (finite_trace_last full_replay_state litems) (` x) (equivocator_state_extend (finite_trace_last full_replay_state litems (` x)) (equivocator_state_zero (is x))) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)
n: ` x ≠ iequivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) jby assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: _composite_state equivocator_IM
is: composite_state sub_equivocator_IM
x: sub_index equivocating
l: list (sub_index equivocating)
litems: list transition_item
Hplanl: composite_apply_plan equivocator_IM full_replay_state (map (initial_new_machine_transition_item is) l) = (litems, finite_trace_last full_replay_state litems)
IHl: ∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state litems i) j = equivocator_state_project (full_replay_state i) j
aitems: list transition_item
afinal: _composite_state equivocator_IM
i: index
j: nat
Hj: j < equivocator_state_n (full_replay_state i)
n: ` x ≠ ij < equivocator_state_n (full_replay_state i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: indexequivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) endmatch eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
ji: nat
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) ji)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_jidefault (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is): state
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i)) (equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i)) (equivocator_state_project (full_replay_state i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)reflexivity. Qed. Definition replayed_trace_from full_replay_state is tr := replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i)) (Some full_i_ji) = default (equivocator_state_zero (full_replay_state i)) (Some full_i_ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is [])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ []) = lift_equivocators_sub_state_to full_replay_state ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) = lift_equivocators_sub_state_to full_replay_state isassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM iscomposite_initial_state_prop sub_equivocator_IM ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_trace_from full_replay_state is (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr' ++ [item])) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [item]) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemfinite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ [pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) item]) = lift_equivocators_sub_state_to full_replay_state (finite_trace_last is (tr' ++ [item]))reflexivity. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
tr': list transition_item
item: transition_itemdestination (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) item) = lift_equivocators_sub_state_to full_replay_state (destination item)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lst i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) []) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ []) i) j = equivocator_state_project (full_replay_state i) japply equivocator_state_project_replayed_initial_state_from_left.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
Htr: tr = []∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr' ++ [lst])) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [lst]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (finite_trace_last full_replay_state ((replayed_initial_state_from full_replay_state is ++ map (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr') ++ [pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) lst]) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (destination (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]∀ (i : index) (j : nat), j < equivocator_state_n (full_replay_state i) → equivocator_state_project (lift_equivocators_sub_state_to full_replay_state (destination lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)equivocator_state_project (lift_equivocators_sub_state_to full_replay_state (destination lst) i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)equivocator_state_project match decide (sub_index_prop equivocating i) with | left e => equivocator_state_append (full_replay_state i) (destination lst (dec_exist (sub_index_prop equivocating) i e)) | in_right => full_replay_state i end j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)
s: sub_index_prop equivocating iequivocator_state_project (equivocator_state_append (full_replay_state i) (destination lst (dec_exist (sub_index_prop equivocating) i s))) j = equivocator_state_project (full_replay_state i) jreflexivity. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr, tr': list transition_item
lst: transition_item
Htr: tr = tr' ++ [lst]
i: index
j: nat
Hltj: j < equivocator_state_n (full_replay_state i)
s: sub_index_prop equivocating iequivocator_state_project (full_replay_state i) j = equivocator_state_project (full_replay_state i) jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state∀ i : index, equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: indexequivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)equivocator_state_descriptor_project (lst i) (eqv_descriptors i) = equivocator_state_descriptor_project (full_replay_state i) (eqv_descriptors i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) endmatch eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) j) end = match eqv_descriptors i with | NewMachine sn => sn | Existing j => default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) j) endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
ji: nat
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) ji)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_jidefault (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (lst i)) (equivocator_state_project (lst i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i)) (equivocator_state_project (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i)) (equivocator_state_project (full_replay_state i) ji) = default (equivocator_state_zero (full_replay_state i)) (equivocator_state_project (full_replay_state i) ji)reflexivity. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
i: index
ji: nat
full_i_ji: vstate (IM i)
Hpr_ji: equivocator_state_project (full_replay_state i) ji = Some full_i_ji
Hltji: ji < equivocator_state_n (full_replay_state i)default (equivocator_state_zero (finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr) i)) (Some full_i_ji) = default (equivocator_state_zero (full_replay_state i)) (Some full_i_ji)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): stateequivocators_total_state_project IM lst = equivocators_total_state_project IM full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): stateequivocators_total_state_project IM lst = equivocators_total_state_project IM full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state∀ x : index, equivocators_total_state_project IM lst x = equivocators_total_state_project IM full_replay_state xmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: indexequivocators_total_state_project IM lst i = equivocators_total_state_project IM full_replay_state iapply zero_descriptor_not_equivocating. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_item
lst:= finite_trace_last full_replay_state (replayed_trace_from full_replay_state is tr): state
i: indexnot_equivocating_equivocator_descriptors IM (zero_descriptor IM) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project eqv_descriptors (replayed_trace_from full_replay_state is tr) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateequivocators_trace_project eqv_descriptors (replayed_trace_from full_replay_state is tr) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : Common.equivocator_descriptors IM), Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some (sufX, eqv_descriptors') ∧ Projections.equivocators_trace_project IM eqv_descriptors' (replayed_initial_state_from full_replay_state is) = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateProjections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors) ∧ Projections.equivocators_trace_project IM eqv_descriptors (replayed_initial_state_from full_replay_state is) = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateProjections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) (tr ++ [x])) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) (tr ++ [x])) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr ++ map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : Common.equivocator_descriptors IM), Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some (sufX, eqv_descriptors') ∧ Projections.equivocators_trace_project IM eqv_descriptors' (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr) = Some (preX, eqv_descriptors) ∧ [] = preX ++ sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors) ∧ Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) tr) = Some ([], eqv_descriptors) ∧ [] = [] ++ []message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
IHtr: Projections.equivocators_trace_project IM eqv_descriptors (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr) = Some ([], eqv_descriptors)Projections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
x: transition_item
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateProjections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [x]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
l: label
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_stateProjections.equivocators_trace_project IM eqv_descriptors (map (pre_VLSM_full_projection_trace_item_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)) [{| l := l; input := input; destination := destination; output := output |}]) = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
l: label
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := l; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT sub_i li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_state
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Himatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT sub_i li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors full_replay_statematch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (full_replay_state i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (full_replay_state i) i0) endmatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
Heqv_descriptors: is_Some (equivocator_state_project (full_replay_state i) n)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_nmatch equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match equivocators_transition_item_project IM eqv_descriptors (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM (projT1 (l (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})))) (composite_transition_item_projection (Common.equivocator_IM IM) (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})) (eqv_descriptors (projT1 (l (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (l (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (...) i Hi) li; input := input; destination := destination; output := output |}))) (l item'); input := VLSM.input (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}); destination := Common.equivocators_state_project IM eqv_descriptors (VLSM.destination (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})); output := VLSM.output (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}) |}, Common.equivocator_descriptors_update IM eqv_descriptors (projT1 (l (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}))) deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors (projT1 (l (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |}))) deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM i) (composite_transition_item_projection (Common.equivocator_IM IM) (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})) (eqv_descriptors i) with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match equivocator_vlsm_transition_item_project (IM i) (composite_transition_item_projection (Common.equivocator_IM IM) (pre_VLSM_full_projection_trace_item_project (composite_type sub_equivocator_IM) (composite_type equivocator_IM) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) {| l := existT (dec_exist (sub_index_prop equivocating) i Hi) li; input := input; destination := destination; output := output |})) (Existing n) with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match equivocator_state_project (lift_equivocators_sub_state_to full_replay_state destination i) n with | Some sj => match eq_rect_r (λ n : index, vlabel (Common.equivocator_IM IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := sj; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (Some {| l := lx; input := input; destination := sj; output := output |}, Existing i0) else Some (None, Existing n) end | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: vstate (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, vlabel (Common.equivocator_IM IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (lift_equivocators_sub_state_to full_replay_state destination i)) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: vstate (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, vlabel (Common.equivocator_IM IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (equivocator_state_append (full_replay_state i) (destination (dec_exist (sub_index_prop equivocating) i Hi)))) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (equivocator_state_append (full_replay_state i) (destination (dec_exist (sub_index_prop equivocating) i Hi)))) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)destruct li as [sn_d| id li| id li]; simpl ; rewrite !decide_False by lia ; f_equal; f_equal; apply equivocator_descriptors_update_id; assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: vstate (free_composite_vlsm (Common.equivocator_IM IM))
is: composite_state sub_equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
input: option message
destination: state
output: option message
tr: list transition_item
eqv_descriptors: equivocator_descriptors
n: nat
Heqv_l: eqv_descriptors i = Existing n
s_l_n: vstate (IM i)
Hs_l_n: equivocator_state_project (full_replay_state i) n = Some s_l_n
Hltn: n < equivocator_state_n (full_replay_state i)
Hltsize: equivocator_state_n (full_replay_state i) ≤ equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)
lift_n: vstate (IM i)
Hlt_n: n < equivocator_state_n (lift_equivocators_sub_state_to full_replay_state destination i)match match match eq_rect_r (λ n : index, vlabel (Common.equivocator_IM IM n)) (equivocator_state_append_label (IM i) (full_replay_state i) li) eq_refl with | Spawn sn => if decide (n = equivocator_state_last (destination (dec_exist (sub_index_prop equivocating) i Hi)) + equivocator_state_n (full_replay_state i)) then Some (None, NewMachine sn) else Some (None, Existing n) | ContinueWith i0 lx => if decide (i0 = n) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) | ForkWith i0 lx => if decide (n = equivocator_state_last (destination (dec_exist (sub_index_prop equivocating) i Hi)) + equivocator_state_n (full_replay_state i)) then Some (Some {| l := lx; input := input; destination := lift_n; output := output |}, Existing i0) else Some (None, Existing n) end with | Some (Some item', deqv') => Some (Some {| l := existT i (l item'); input := input; destination := Common.equivocators_state_project IM eqv_descriptors (lift_equivocators_sub_state_to full_replay_state destination); output := output |}, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | Some (None, deqv') => Some (None, Common.equivocator_descriptors_update IM eqv_descriptors i deqv') | None => None end with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some ([], eqv_descriptors)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_itemequivocators_total_trace_project IM (replayed_trace_from full_replay_state is tr) = []message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_itemequivocators_total_trace_project IM (replayed_trace_from full_replay_state is tr) = []message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_itemfrom_option fst [] (Projections.equivocators_trace_project IM (zero_descriptor IM) (replayed_trace_from full_replay_state is tr)) = []apply zero_descriptor_not_equivocating. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: state
is: composite_state sub_equivocator_IM
tr: list transition_itemnot_equivocating_equivocator_descriptors IM (zero_descriptor IM) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
l: composite_label sub_equivocator_IM
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM l (s, om)composite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
l: composite_label sub_equivocator_IM
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM l (s, om)composite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT sub_i li) (s, om)composite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT sub_i li) (s, om)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hicomposite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)composite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om)composite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om)equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (lift_equivocators_sub_state_to full_replay_state s i, om)assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om)equivocator_valid (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
l: composite_label sub_equivocator_IM
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Hv: composite_valid sub_equivocator_IM l (s, om)
Ht: composite_transition sub_equivocator_IM l (s, om) = (s', om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
l: composite_label sub_equivocator_IM
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Hv: composite_valid sub_equivocator_IM l (s, om)
Ht: composite_transition sub_equivocator_IM l (s, om) = (s', om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Hv: composite_valid sub_equivocator_IM (existT sub_i li) (s, om)
Ht: composite_transition sub_equivocator_IM (existT sub_i li) (s, om) = (s', om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
sub_i: sub_index equivocating
li: vlabel (sub_equivocator_IM sub_i)
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Hv: composite_valid sub_equivocator_IM (existT sub_i li) (s, om)
Ht: composite_transition sub_equivocator_IM (existT sub_i li) (s, om) = (s', om')
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hicomposite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT sub_i li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Ht: composite_transition sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om) = (s', om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Ht: composite_transition sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om) = (s', om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) li (s (dec_exist (sub_index_prop equivocating) i Hi), om) = (s' (dec_exist (sub_index_prop equivocating) i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dec_exist (sub_index_prop equivocating) i Hi)), om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
Ht: (let (si', om') := equivocator_transition (IM i) li (s (dec_exist (sub_index_prop equivocating) i Hi), om) in (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) si', om')) = (s', om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) li (s (dec_exist (sub_index_prop equivocating) i Hi), om) = (s' (dec_exist (sub_index_prop equivocating) i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dec_exist (sub_index_prop equivocating) i Hi)), om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
_si': equivocator_state (IM i)
_om': option message
Ht: (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si', _om') = (s', om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: (_si', _om') = (s' (dec_exist (sub_index_prop equivocating) i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dec_exist (sub_index_prop equivocating) i Hi)), om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
s': composite_state sub_equivocator_IM
om': option message
_si': equivocator_state (IM i)
_om': option message
Ht: (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si', _om') = (s', om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: (_si', _om') = (s' (dec_exist (sub_index_prop equivocating) i Hi), om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (s' (dec_exist (sub_index_prop equivocating) i Hi)), om')
H0: state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' = s'
H1: _om' = om'composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Ht: (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si', _om') = (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si', _om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: (_si', _om') = (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) i Hi), _om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) i Hi)), _om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: (_si', _om') = (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) i Hi), _om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) i Hi)), _om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: (_si', _om') = (_si', _om') → equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')composite_transition equivocator_IM (lift_equivocators_sub_label_to full_replay_state (existT (dec_exist (sub_index_prop equivocating) i Hi) li)) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(let (si', om') := equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (lift_equivocators_sub_state_to full_replay_state s i, om) in (state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i si', om')) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(let (si', om') := equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) in (state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i si', om')) = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')(state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si'), _om') = (lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si'), _om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')∀ x : index, state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') x = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') xmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: indexstate_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
e: i = jstate_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jstate_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
e: i = jstate_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
j: index
Hi: sub_index_prop equivocating j
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) j Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) j Hi) li) (s, om)state_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) j (equivocator_state_append (full_replay_state j) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) j Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
j: index
Hi: sub_index_prop equivocating j
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) j Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) j Hi) li) (s, om)equivocator_state_append (full_replay_state j) _si' = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) j Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
j: index
Hi: sub_index_prop equivocating j
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) j Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) j Hi) li) (s, om)equivocator_state_append (full_replay_state j) _si' = equivocator_state_append (full_replay_state j) (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) j Hi) _si' (dec_exist (sub_index_prop equivocating) j Hi))reflexivity.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
j: index
Hi: sub_index_prop equivocating j
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) j Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM j)
_om': option message
Hlift: equivocator_transition (IM j) (equivocator_state_append_label (IM j) (full_replay_state j) li) (equivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j Hi)), om) = (equivocator_state_append (full_replay_state j) _si', _om')
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) j Hi) li) (s, om)equivocator_state_append (full_replay_state j) _si' = equivocator_state_append (full_replay_state j) _si'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jstate_update equivocator_IM (lift_equivocators_sub_state_to full_replay_state s) i (equivocator_state_append (full_replay_state i) _si') j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jlift_equivocators_sub_state_to full_replay_state s j = lift_equivocators_sub_state_to full_replay_state (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si') jmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ jmatch decide (sub_index_prop equivocating j) with | left e => equivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j e)) | in_right => full_replay_state j end = match decide (sub_index_prop equivocating j) with | left e => equivocator_state_append (full_replay_state j) (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) j e)) | in_right => full_replay_state j endmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating jequivocator_state_append (full_replay_state j) (s (dec_exist (sub_index_prop equivocating) j s0)) = equivocator_state_append (full_replay_state j) (state_update sub_equivocator_IM s (dec_exist (sub_index_prop equivocating) i Hi) _si' (dec_exist (sub_index_prop equivocating) j s0))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating jdec_exist (sub_index_prop equivocating) j s0 ≠ dec_exist (sub_index_prop equivocating) i Himessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating j
Hcontra: dec_exist (sub_index_prop equivocating) j s0 = dec_exist (sub_index_prop equivocating) i HiFalsemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating j
Hcontra: ` (dec_exist (sub_index_prop equivocating) j s0) = ` (dec_exist (sub_index_prop equivocating) i Hi)Falsecongruence. Qed. Section pre_loaded_constrained_projection.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
i: index
Hi: sub_index_prop equivocating i
li: vlabel (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))
s: composite_state sub_equivocator_IM
om: option message
_si': equivocator_state (IM i)
_om': option message
Hv: composite_valid sub_equivocator_IM (existT (dec_exist (sub_index_prop equivocating) i Hi) li) (s, om)
Hlift: equivocator_transition (IM i) (equivocator_state_append_label (IM i) (full_replay_state i) li) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi)), om) = (equivocator_state_append (full_replay_state i) _si', _om')
j: index
n: i ≠ j
s0: sub_index_prop equivocating j
Hcontra: j = iFalse
By replaying a valid_trace on top of a valid_state we obtain a
valid_trace. We derive this as a more general VLSM_weak_full_projection
result for a class of VLSM parameterized by a constraint having "good"
properties and pre-loaded with a seed, to allow deriving the
VLSM_weak_full_projection result for both the free composition of equivocators
and for the no message equivocation composition of equivocators (free, or with
an additional fixed-set state-equivocation constraint).
Context (constraint : composite_label equivocator_IM -> composite_state equivocator_IM * option message -> Prop) (seed1 : message -> Prop) (SeededCE := pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1) (Hconstraint_none : forall i ns s, i ∈ equivocating -> valid_state_prop SeededCE s -> constraint (existT i (Spawn ns)) (s, None)) (Hseed : forall m, seed m -> valid_message_prop SeededCE m) (full_replay_state : composite_state equivocator_IM) (Hfull_replay_state : valid_state_prop SeededCE full_replay_state) (Hsubsumption : forall l s om, input_valid SeededXE l (s, om) -> valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) -> constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)) .message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is(∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)) → finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is(∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)) → finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hplan: ∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hplan: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
Hplan: finite_valid_trace_from SeededCE full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) (sub_index_listing equivocating))).1finite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is∀ l : list (sub_index equivocating), incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
l: list (sub_index equivocating)incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: incl [] (sub_index_listing equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) [])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: incl [] (sub_index_listing equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) [])assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
H: incl [] (sub_index_listing equivocating)valid_state_prop SeededCE full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)incl l (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)incl l (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)
i: sub_index equivocating
Hi: In i lIn i (sub_index_listing equivocating)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)
i: sub_index equivocating
Hi: In i lIn i (l ++ [x])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)
i: sub_index equivocating
Hi: In i lIn i l ∨ In i [x]assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
IHl: incl l (sub_index_listing equivocating) → finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)
H: incl (l ++ [x]) (sub_index_listing equivocating)
i: sub_index equivocating
Hi: In i lIn i lmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) (l ++ [x]))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l ++ map (initial_new_machine_transition_item is) [x])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l) ∧ finite_valid_plan_from SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (map (initial_new_machine_transition_item is) [x])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)finite_valid_plan_from SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (map (initial_new_machine_transition_item is) [x])message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)input_valid_transition SeededCE (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None) (state_update equivocator_IM (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x) (equivocator_state_extend ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x), None).1 (equivocator_state_zero (is x))), None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)input_valid_transition SeededCE (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None) (state_update equivocator_IM (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x) (equivocator_state_extend ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2 (` x)) (equivocator_state_zero (is x))), None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)option_valid_message_prop SeededCE Nonemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)vinitial_state_prop (IM (` x)) (equivocator_state_zero (is x))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)constraint (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2apply apply_plan_last_valid.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l) → valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2apply option_valid_message_None.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)option_valid_message_prop SeededCE Noneapply His.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)vinitial_state_prop (IM (` x)) (equivocator_state_zero (is x))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)constraint (existT (` x) (Spawn (equivocator_state_zero (is x)))) ((apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)` x ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)` x ∈ equivocatingindex: Type
IndEqDec: EqDecision index
equivocating: list index
x: sub_index equivocating` x ∈ equivocatingindex: Type
IndEqDec: EqDecision index
equivocating: list index
x: sub_index equivocating
i: index
Hi: sub_index_prop equivocating i
Hx: x = dec_exist (sub_index_prop equivocating) i Hi` x ∈ equivocatingassumption.index: Type
IndEqDec: EqDecision index
equivocating: list index
i: index
Hi: sub_index_prop equivocating i` (dec_exist (sub_index_prop equivocating) i Hi) ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: finite_valid_plan_from SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: valid_state_prop SeededCE (finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1)valid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
lst: state
Heqlst: lst = finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1
IHl: valid_state_prop SeededCE lstvalid_state_prop SeededCE (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
lst: state
Heqlst: lst = finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1
IHl: valid_state_prop SeededCE lstlst = (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2apply apply_plan_last. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
His: composite_initial_state_prop sub_equivocator_IM is
x: sub_index equivocating
l: list (sub_index equivocating)
H: incl (l ++ [x]) (sub_index_listing equivocating)
IHl: valid_state_prop SeededCE (finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1)finite_trace_last full_replay_state (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).1 = (apply_plan SeededCE full_replay_state (map (initial_new_machine_transition_item is) l)).2message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)∀ m : message, vinitial_message_prop SeededXE m → valid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)∀ m : message, vinitial_message_prop SeededXE m → valid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop mvalid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hseeded: seed mvalid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop mvalid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hinit: initial_message_prop minitial_message_prop mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
i: index
Hi: bool_decide (sub_index_prop equivocating i)
Hinit: ∃ mi : vinitial_message (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating (i ↾ Hi)), ` mi = minitial_message_prop mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
i: index
Hi: bool_decide (sub_index_prop equivocating i)
Hinit: ∃ mi : vinitial_message (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating (i ↾ Hi)), ` mi = minitial_message_prop massumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
i: index
Hi: bool_decide (sub_index_prop equivocating i)
Hinit: ∃ mi : vinitial_message (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating (i ↾ Hi)), ` mi = m∃ mi : vinitial_message (equivocator_IM i), ` mi = mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hseeded: seed mvalid_message_prop SeededCE massumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
m: message
Hseeded: seed mseed mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)VLSM_weak_full_projection SeededXE SeededCE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)VLSM_weak_full_projection SeededXE SeededCE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omvvalid SeededCE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition SeededXE l (s, om) (s', om')vtransition SeededCE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state
H: vinitial_state_prop SeededXE svalid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HmX: vinitial_message_prop SeededXE mvalid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omvvalid SeededCE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omcomposite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omconstraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omcomposite_valid equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)apply Hv.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omcomposite_valid sub_equivocator_IM l (s, om)apply Hsubsumption; assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
Hv: input_valid SeededXE l (s, om)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop SeededCE omconstraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)apply lift_equivocators_sub_transition; apply H.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition SeededXE l (s, om) (s', om')vtransition SeededCE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state
H: vinitial_state_prop SeededXE svalid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state
H: vinitial_state_prop SeededXE svalid_state_prop SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state s))by apply replayed_initial_state_from_valid.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
s: state
H: vinitial_state_prop SeededXE sfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state s)by apply lift_initial_message. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
l: label
s: state
m: message
Hv: input_valid SeededXE l (s, Some m)
HsY: valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s)
HmX: vinitial_message_prop SeededXE mvalid_message_prop SeededCE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE full_replay_state (replayed_initial_state_from full_replay_state is) ∧ finite_valid_trace_from SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is)) (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state is)) (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace_from SeededXE is tr
His: initial_state_prop isfinite_valid_trace_from SeededCE (lift_equivocators_sub_state_to full_replay_state is) (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)apply (VLSM_weak_full_projection_finite_valid_trace_from lift_equivocators_sub_weak_projection). Qed. End pre_loaded_constrained_projection.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
constraint: composite_label equivocator_IM → composite_state equivocator_IM * option message → Prop
seed1: message → Prop
SeededCE:= pre_loaded_vlsm (composite_vlsm equivocator_IM constraint) seed1: VLSM message
Hconstraint_none: ∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop SeededCE s → constraint (existT i (Spawn ns)) (s, None)
Hseed: ∀ m : message, seed m → valid_message_prop SeededCE m
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededCE full_replay_state
Hsubsumption: ∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop SeededCE (lift_equivocators_sub_state_to full_replay_state s) → constraint (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
His: initial_state_prop isfinite_valid_trace_from SeededXE is tr → finite_valid_trace_from SeededCE (lift_equivocators_sub_state_to full_replay_state is) (pre_VLSM_full_projection_finite_trace_project (type FreeSubE) (type FreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_stateVLSM_weak_full_projection SeededXE PreFreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_stateVLSM_weak_full_projection SeededXE PreFreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state∀ (sX : state) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from PreFreeE (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type PreFreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
sX: state
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trXfinite_valid_trace_from PreFreeE (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type PreFreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
sX: state
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))finite_valid_trace_from PreFreeE (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type PreFreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
sX: state
trX: list transition_item
HtrX: finite_valid_trace_from SeededXE sX trX
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))finite_valid_trace_from (mk_vlsm (machine (pre_loaded_vlsm FreeE (λ _ : message, True)))) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type PreFreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (sX : state) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from (mk_vlsm (machine (pre_loaded_vlsm FreeE (λ _ : message, True)))) (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type PreFreeE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) s → free_constraint equivocator_IM (existT i (Spawn ns)) (s, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ m : message, seed m → valid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)intros; exact I.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) s → free_constraint equivocator_IM (existT i (Spawn ns)) (s, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ m : message, seed m → valid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))
m: message
H: seed mvalid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))
m: message
H: seed minitial_message_prop mexact I.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))
m: message
H: seed mTruemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) full_replay_stateassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_vlsm FreeE (λ _ : message, True)))) full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s) → free_constraint equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)exact I. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) (lift_equivocators_sub_state_to full_replay_state s)free_constraint equivocator_IM (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_stateVLSM_weak_full_projection PreFreeSubE PreFreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_stateVLSM_weak_full_projection PreFreeSubE PreFreeE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
om: option message
Hv: input_valid PreFreeSubE l (s, om)
HsY: valid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop PreFreeE omvvalid PreFreeE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition PreFreeSubE l (s, om) (s', om')vtransition PreFreeE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE svalid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
m: message
Hv: input_valid PreFreeSubE l (s, Some m)
HsY: valid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)
HmX: vinitial_message_prop PreFreeSubE mvalid_message_prop PreFreeE msplit; [apply lift_equivocators_sub_valid; apply Hv|exact I].message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
om: option message
Hv: input_valid PreFreeSubE l (s, om)
HsY: valid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)
HomY: option_valid_message_prop PreFreeE omvvalid PreFreeE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)apply lift_equivocators_sub_transition; apply H.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition PreFreeSubE l (s, om) (s', om')vtransition PreFreeE (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om) = (lift_equivocators_sub_state_to full_replay_state s', om')message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE svalid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE svalid_state_prop PreFreeE (finite_trace_last full_replay_state (replayed_initial_state_from full_replay_state s))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE sfinite_valid_trace_from PreFreeE full_replay_state (replayed_initial_state_from full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))finite_valid_trace_from PreFreeE full_replay_state (replayed_initial_state_from full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))finite_valid_trace_from (mk_vlsm (machine (pre_loaded_vlsm FreeE (λ _ : message, True)))) full_replay_state (replayed_initial_state_from full_replay_state s)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) s → free_constraint equivocator_IM (existT i (Spawn ns)) (s, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))composite_initial_state_prop sub_equivocator_IM smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) s → free_constraint equivocator_IM (existT i (Spawn ns)) (s, None)exact I.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))
i: index
ns: vstate (IM i)
s0: state
H0: i ∈ equivocating
H1: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) s0free_constraint equivocator_IM (existT i (Spawn ns)) (s0, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM)) (λ _ : message, True)) full_replay_stateassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm FreeE))) full_replay_stateassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
s: state
H: vinitial_state_prop PreFreeSubE s
Heq: VLSM_eq (pre_loaded_with_all_messages_vlsm FreeE) (pre_loaded_vlsm FreeE (λ _ : message, True))composite_initial_state_prop sub_equivocator_IM sapply any_message_is_valid_in_preloaded. Qed. Section seeded_no_equiv. Context (SeededAllXE : VLSM message := composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint _) (equivocator_Hbs IM Hbs) seed) (full_replay_state : composite_state equivocator_IM) (Hfull_replay_state : valid_state_prop SeededAllXE full_replay_state) .message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop PreFreeE full_replay_state
l: label
s: state
m: message
Hv: input_valid PreFreeSubE l (s, Some m)
HsY: valid_state_prop PreFreeE (lift_equivocators_sub_state_to full_replay_state s)
HmX: vinitial_message_prop PreFreeSubE mvalid_message_prop PreFreeE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label
s: state
m: message
H: input_valid SeededXE l (s, Some m)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label
s: state
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Propcomposite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
Hs: valid_state_prop SeededXE s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hc1: composite_no_equivocations_except_from (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed l (s, Some m)
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hsub_sent: composite_has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hseeded: seed m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hsub_sent: composite_has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating) (equivocator_Hbs (SubProjectionTraces.sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hicomposite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hicomposite_has_been_sent equivocator_IM (equivocator_Hbs IM Hbs) (lift_equivocators_sub_state_to full_replay_state s, Some m).1 mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hihas_been_sent (equivocator_IM i) ((lift_equivocators_sub_state_to full_replay_state s, Some m).1 i) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hiequivocator_has_been_sent (IM i) (lift_equivocators_sub_state_to full_replay_state s i) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
sub_i: sub_index equivocating
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating sub_i) ((s, Some m).1 sub_i) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)
i: index
Hi: sub_index_prop equivocating i
Heqsub_i: sub_i = dec_exist (sub_index_prop equivocating) i Hiequivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
i: index
Hi: sub_index_prop equivocating i
Hsent: has_been_sent (SubProjectionTraces.sub_IM (Common.equivocator_IM IM) equivocating (dec_exist (sub_index_prop equivocating) i Hi)) ((s, Some m).1 (dec_exist (sub_index_prop equivocating) i Hi)) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
i: index
Hi: sub_index_prop equivocating i
Hsent: has_been_sent (Common.equivocator_IM IM (` (dec_exist (sub_index_prop equivocating) i Hi))) ((s, Some m).1 (dec_exist (sub_index_prop equivocating) i Hi)) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dec_exist (sub_index_prop equivocating) i Hi)) m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dec_exist (sub_index_prop equivocating) i Hi)) m
Hfull_replay_state_pr: valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mapply equivocator_state_append_sent_right; assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
i: index
Hi: sub_index_prop equivocating i
Hsent: equivocator_has_been_sent (IM i) (s (dec_exist (sub_index_prop equivocating) i Hi)) m
Hfull_replay_state_pr: valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM (dec_exist (sub_index_prop equivocating) i Hi))) (s (dec_exist (sub_index_prop equivocating) i Hi))equivocator_has_been_sent (IM i) (equivocator_state_append (full_replay_state i) (s (dec_exist (sub_index_prop equivocating) i Hi))) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hseeded: seed m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)composite_no_equivocations_except_from equivocator_IM (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, Some m)assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)))) full_replay_state
l: label
s: state
m: message
constraint:= no_equivocations_additional_constraint_with_pre_loaded sub_equivocator_IM (free_constraint sub_equivocator_IM) (equivocator_Hbs sub_IM Hbs_sub) seed: composite_label sub_equivocator_IM → composite_state sub_equivocator_IM * option message → Prop
Hs: valid_state_prop (mk_vlsm (machine (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)))) s
Hseeded: seed m
Hfull_replay_state_pr: ∀ i : index, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm equivocator_IM (free_constraint equivocator_IM))) full_replay_state → valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM i)) (full_replay_state i)
Hincl: VLSM_incl (pre_loaded_vlsm (composite_vlsm sub_equivocator_IM constraint) seed) (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint))
Hs_pr: ∀ i : sub_index equivocating, valid_state_prop (pre_loaded_with_all_messages_vlsm (composite_vlsm sub_equivocator_IM constraint)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_equivocator_IM i)) (s i)seed mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ m : message, seed m → valid_message_prop SeededAllXE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ m : message, seed m → valid_message_prop SeededAllXE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
Hm: seed mvalid_message_prop SeededAllXE mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
Hm: seed minitial_message_prop massumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
Hm: seed mseed m
Here we specialize the generic lift_equivocators_sub_weak_projection
result for the equivocators_no_equivocations_constraint.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_stateVLSM_weak_full_projection SeededXE SeededAllXE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_stateVLSM_weak_full_projection SeededXE SeededAllXE (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state∀ (sX : state) (trX : list transition_item), finite_valid_trace_from SeededXE sX trX → finite_valid_trace_from SeededAllXE (lift_equivocators_sub_state_to full_replay_state sX) (pre_VLSM_full_projection_finite_trace_project (type SeededXE) (type SeededAllXE) (lift_equivocators_sub_label_to full_replay_state) (lift_equivocators_sub_state_to full_replay_state) trX)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
i: index
ns: vstate (IM i)
s: state
H: i ∈ equivocating
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) sno_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (existT i (Spawn ns)) (s, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
H: seed mvalid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_statevalid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_statemessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)split; exact I.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
i: index
ns: vstate (IM i)
s: state
H: i ∈ equivocating
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) sno_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (existT i (Spawn ns)) (s, None)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
H: seed mvalid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) massumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
m: message
H: seed mseed massumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_statevalid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_stateapply SeededNoEquiv_subsumption; assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= composite_no_equivocation_vlsm_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is trfinite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (i : index) (ns : vstate (IM i)) (s : state), i ∈ equivocating → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) s → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (existT i (Spawn ns)) (s, None)) → (∀ m : message, seed m → valid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) m) → ∀ full_replay_state : composite_state equivocator_IM, valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state → (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ m : message, seed m → valid_message_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) m) → ∀ full_replay_state : composite_state equivocator_IM, valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state → (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: ∀ full_replay_state : composite_state equivocator_IM, valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state → (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)finite_valid_trace_from SeededAllXE full_replay_state (replayed_trace_from full_replay_state is tr)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) (lift_equivocators_sub_state_to full_replay_state s, om)assumption. Qed. End seeded_no_equiv. End all_equivocating.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
seed: message → Prop
equivocating: list index
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equiv_index:= sub_index equivocating: Type
equivocator_descriptors:= Common.equivocator_descriptors IM: Type
equivocators_state_project:= Common.equivocators_state_project IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → vstate (free_composite_vlsm IM)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
sub_equivocator_IM:= SubProjectionTraces.sub_IM equivocator_IM equivocating: sub_index equivocating → VLSM message
sub_IM:= SubProjectionTraces.sub_IM IM equivocating: sub_index equivocating → VLSM message
equivocator_descriptors_update:= Common.equivocator_descriptors_update IM: Common.equivocator_descriptors IM → ∀ i : index, MachineDescriptor (IM i) → ∀ j : index, MachineDescriptor (IM j)
proper_equivocator_descriptors:= Common.proper_equivocator_descriptors IM: Common.equivocator_descriptors IM → vstate (free_composite_vlsm (Common.equivocator_IM IM)) → Prop
equivocators_trace_project:= Projections.equivocators_trace_project IM: Common.equivocator_descriptors IM → list (composite_transition_item (Common.equivocator_IM IM)) → option (list (composite_transition_item IM) * Common.equivocator_descriptors IM)
Free:= free_composite_vlsm IM: VLSM message
FreeE:= free_composite_vlsm equivocator_IM: VLSM message
PreFreeE:= pre_loaded_with_all_messages_vlsm FreeE: VLSM message
FreeSubE:= free_composite_vlsm sub_equivocator_IM: VLSM message
PreFreeSubE:= pre_loaded_with_all_messages_vlsm FreeSubE: VLSM message
Hbs_sub:= sub_has_been_sent_capabilities IM equivocating Hbs: ∀ sub_i : sub_index equivocating, HasBeenSentCapability (sub_IM sub_i)
SeededXE:= seeded_equivocators_no_equivocation_vlsm IM Hbs equivocating seed: VLSM message
equivocators_no_equivocations_vlsm:= Common.equivocators_no_equivocations_vlsm IM Hbs: VLSM message
SeededAllXE:= pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed: VLSM message
full_replay_state: composite_state equivocator_IM
Hfull_replay_state: valid_state_prop SeededAllXE full_replay_state
is: composite_state sub_equivocator_IM
tr: list (composite_transition_item sub_equivocator_IM)
Htr: finite_valid_trace SeededXE is tr
Hvalid: (∀ (l : label) (s : state) (om : option message), input_valid SeededXE l (s, om) → valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s) → no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed (lift_equivocators_sub_label_to full_replay_state l) ( lift_equivocators_sub_state_to full_replay_state s, om)) → ∀ (is : composite_state sub_equivocator_IM) (tr : list (composite_transition_item sub_equivocator_IM)), finite_valid_trace SeededXE is tr → finite_valid_trace_from (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) full_replay_state (replayed_trace_from full_replay_state is tr)
l: label
s: state
om: option message
H: input_valid SeededXE l (s, om)
H0: valid_state_prop (pre_loaded_vlsm (composite_vlsm equivocator_IM (no_equivocations_additional_constraint_with_pre_loaded equivocator_IM (free_constraint equivocator_IM) (equivocator_Hbs IM Hbs) seed)) seed) (lift_equivocators_sub_state_to full_replay_state s)input_valid SeededXE l (s, om)